go/types.Named.orig (field)
31 uses
go/types (current package)
named.go#L16: orig *Named // original, uninstantiated type
named.go#L66: typ := &Named{check: check, obj: obj, orig: orig, fromRHS: underlying, underlying: underlying, tparams: tparams, methods: methods}
named.go#L67: if typ.orig == nil {
named.go#L68: typ.orig = typ
named.go#L103: return t.orig.obj // for non-instances this is the same as t.obj
named.go#L108: func (t *Named) Origin() *Named { return t.orig }
named.go#L148: origm := t.orig.Method(i)
named.go#L331: i, _ := n.orig.methods.Lookup(pkg, name, foldCase)
named.go#L359: n.orig.resolve(ctxt)
named.go#L360: assert(n.orig.underlying != nil)
named.go#L364: if _, unexpanded := n.orig.underlying.(*Named); unexpanded {
named.go#L371: if n.orig.tparams.Len() == n.targs.Len() {
named.go#L374: h := ctxt.instanceHash(n.orig, n.targs.list())
named.go#L376: ctxt.update(h, n.orig, n.TypeArgs().list(), n)
named.go#L378: smap := makeSubstMap(n.orig.tparams.list(), n.targs.list())
named.go#L379: underlying = n.check.subst(instPos, n.orig.underlying, smap, ctxt)
named.go#L384: if methods, copied := replaceRecvType(iface.methods, n.orig, n); copied {
named.go#L388: if iface == n.orig.underlying {
named.go#L403: return n.orig.tparams, underlying, newLazyMethodList(n.orig.methods.Len())
predicates.go#L401: if !Identical(x.orig, y.orig) {
subst.go#L216: if t.orig.TypeParams().Len() == 0 {
subst.go#L222: if t.targs.Len() != t.orig.TypeParams().Len() {
subst.go#L237: newTArgs = make([]Type, t.orig.TypeParams().Len())
subst.go#L250: h := subst.ctxt.instanceHash(t.orig, newTArgs)
subst.go#L252: if named := subst.ctxt.lookup(h, t.orig, newTArgs); named != nil {
subst.go#L261: t.orig.resolve(subst.ctxt)
subst.go#L262: return subst.check.instance(subst.pos, t.orig, newTArgs, subst.ctxt)
typexpr.go#L449: tparams := n.orig.TypeParams().list()
validtype.go#L74: check.infoMap[t] = check.validType0(t.orig.fromRHS, env.push(t), append(path, t.obj))